package com.ctg.itrdc.k8sconsole.service;

/**
 * 
 * @description:
 * @version: v1.0.0
 * @author: Piao.Wu
 * 
 *          Modification History: Date Author Version Description
 *          -----------------------------------------------------------------
 *          2016年8月20日 上午10:33:53 Piao.Wu v1.0.0 create
 *
 */
public interface IRcService {

	/**
	 * 
	 * @Description: 获取RC列表
	 * @author Piao.Wu 2016年9月7日 下午5:36:14
	 * @param clusterCode
	 * @param perpage
	 * @param page
	 * @param name
	 * @param namesp
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getRcs(String clusterCode, String perpage, String page, String name) throws Exception;
	
	public String getRcsByNamesp(String clusterCode, String namesp, String name, String perpage, String page) throws Exception;

	/**
	 * 
	 * @Description: 查询rc详细信息
	 * @author Piao.Wu 2016年9月7日 下午5:36:28
	 * @param clusterCode
	 * @param name
	 * @param namesp
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String getRcDetail(String clusterCode, String name, String namesp) throws Exception;

	/**
	 * 
	 * @Description: 扩缩容rc
	 * @author Piao.Wu 2016年9月7日 下午5:36:41
	 * @param clusterCode
	 * @param name
	 * @param namesp
	 * @param replicas
	 * @return
	 * @throws Exception
	 *             String
	 *
	 */
	public String updateRcReplicas(String clusterCode, String name, String namesp, Integer replicas) throws Exception;
	
	public String delRc(String clusterCode, String namesp, String name) throws Exception;

	/**
	 * 
	 * @Description: 扩缩容 （开发者门户使用）
	 * @author Piao.Wu 2016年10月29日 上午10:46:56
	 * @param k8sUrl
	 * @param namesp
	 * @param rcName
	 * @param replicas
	 * @return Long 返回一个可供查询执行结果的唯一id
	 *
	 */
	public Long expandOrNarrowRc(String k8sUrl, String namesp, String rcName, Integer replicas);

	/**
	 * 
	 * @Description: 重启rc
	 * @author Piao.Wu 2016年10月28日 下午6:12:34
	 * @param k8sUrl
	 *            k8s地址 例如 http://10.142.90.22:8080
	 * @param namesp
	 *            命名空间
	 * @param rcName
	 *            rc名称
	 * @return Long 返回一个可供查询执行结果的唯一id
	 *
	 */
	public Long restartRc(String k8sUrl, String namesp, String rcName);

	/**
	 * 
	 * @Description: 删除rc
	 * @author Piao.Wu 2016年10月28日 下午6:12:47
	 * @param k8sUrl
	 *            k8s地址 例如 http://10.142.90.22:8080
	 * @param namesp
	 *            命名空间
	 * @param rcName
	 *            rc名称
	 * @return Long 返回一个可供查询执行结果的唯一id
	 *
	 */
	public Long deleteRc(String k8sUrl, String namesp, String rcName);

}
